#ifndef CARRE_H
#define CARRE_H

#include <stdio.h>
#include <string>
#include <algorithm>
#include <vector>
#include <cstdlib>
#include <iostream>
#include <QGLWidget>

#include "glm/glm.hpp"
#include "Point.h"
#include "Forme2D.h"

/*!
* @class Carre
* @brief Forme 2D de base, le carre
*/
class CCarre : public CForme2D
{
public:
	CCarre(CPoint _p, int _cote, int _sens); //sens = 0 -> sur le plan (x,z)
	~CCarre();								 //sens = 1 -> sur le plan (x,y)
	void DessineObjet();					 //sens = autre -> sur le plan (y,z)
	CPoint GetPCentre();					 
	CPoint GetP1();
	CPoint GetP2();
	CPoint GetP3();
	CPoint GetP4();
	int GetCote();
	int GetSens();

private:
	void SetPCentre(CPoint _p);
	void SetP1(CPoint _p);
	void SetP2(CPoint _p);
	void SetP3(CPoint _p);
	void SetP4(CPoint _p);
	void SetCote(int _cote);
	void SetSens(int _sens);

protected:	
	CPoint pCentre;
	CPoint p1;
	CPoint p2;
	CPoint p3;
	CPoint p4;
	int cote;// taille d'une cote 
	int sens;//sens = 0 -> sur le plan (x,z)
			 //sens = 1 -> sur le plan (x,y)
			 //sens = autre -> sur le plan (y,z)
};

#endif